#ifndef __images_h_
#define __images_h_

/* fonctions pour traiter les images */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#ifndef TRUE
#define TRUE  1
#define FALSE 0
#endif

#define MAX_BUFFER 1024

#define IMAGE_ERREUR  0
#define IMAGE_COULEUR 1
#define IMAGE_GRIS    2

/* structure image */
typedef struct
{
  int largeur, hauteur;
  unsigned char *buffer;
  int mode;
}SImage;

/* structure pixel, plus facile a manipuler */
typedef struct
{
  unsigned char r, v, b, a;
}SPixel;

/** liste des fonctions **/
  /* chargement d'une image au format PPM sans allocation */
int charge_ppm(char *nom, SImage *image);
  /* chargement d'une image au format PPM avec allocation */
int charge_allocation_ppm(char *nom, SImage *image);
  /* sauvegarde une image au format PPM */
int sauvegarde_ppm(char *nom, SImage *image);
/* destruction d'une image */
int detruit_ppm(SImage *image);
#endif /* __images_h_ */
